package org.christopher.mybatisplusdemo.common;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

@Data
@ToString
@AllArgsConstructor
@NoArgsConstructor
public class JsonData {

    private Integer code;      //返回代码 0代表成功，1代表处理中，-1代表失败

    private Object data;         //返回得结果对象

    private String msg;        //返回得提示信息

    /**
     * 构造者模式，如果没有参数，直接返回成功代码
     * @return
     */
    public static JsonData buildSuccess(){
        return new JsonData(0,null,null);
    }

    /**
     * 把数据封装进对昂，同时返回成功代码
     * @param data
     * @return
     */
    public static JsonData buildSuccess(Object data){
        return new JsonData(0,data,null);
    }

    /**
     * 添加信息，返回失败代码
     * @param msg
     * @return
     */
    public static JsonData buildSuccess(String msg){
        return new JsonData(-1,null,msg);
    }

    /**
     * 添加信息，返回信息及代码
     * @param code
     * @param msg
     * @return
     */
    public static JsonData buildSuccess(Integer code,String msg){
        return new JsonData(code,null,msg);
    }


}
